A broad range of electronic systems employ circuits that require a large number of control signals. Examples of such systems are automotive radar circuits and circuits that combine wireless LAN (local area network) and Bluetooth™ radios commonly included in mobile electronic products. Such circuits typically employ amplifiers, oscillators, filters, low power sleep modes, and other functions that require control. Examples of this control include amplifier gain settings, oscillator frequency settings, filter coefficients, sleep mode enable, and wake up signals. For complex systems this control is typically provided by a microprocessor. Other types of circuits, however, can be employed to provide the control such as a state machine. The number of control bits required for some complex systems can be in excess of 10,000.
The individual bits of all control registers within a system are typically available simultaneously to the circuit being controlled, due to parallel functionality of the circuit being controlled. To enable this simultaneous access of all control bits of all control registers, the control register bits are typically implemented with flip-flops. Other types of storage elements such as latches may be used. Random access memories (RAMs) typically do not provide simultaneous access to all bits and thus are typically not employed as control registers. Random access memories include static RAM and dynamic RAM as well as non-volatile memories such as so called flash memory and memories based on magnetic storage cells.
Control registers are typically implemented with read and “read modify write” capabilities in addition to the capability of being written by a microprocessor or other type of circuit. The read capability is often used to verify that the content of the control registers are correct after being written. The read modify write capability is typically used when only a subset of the bits of a control register are being modified. The read modify write capability is also often used in a multi-processor system where more than one processor can write to the same control registers.
Control registers may be implemented with the capability to retain data during a low power state. This capability is advantageous when restoring system functionality when transitioning from an inactive low power state to normal full power operation.